#pragma once
#ifndef __SHADERINPUTLAYOUT_H__
#define __SHADERINPUTLAYOUT_H__

#include "Utility.h"

#include "../util/D3DCommon.h"
#include "../util/PreDeclare.h"

namespace WindGE
{
	class VertexInputLayout
	{
	public:
		VertexInputLayout();
		~VertexInputLayout();

		bool create(RenderDevicePtr renderDevice, ID3D10Blob* shaderBytes, 
					unsigned int inputParamsNum, ID3D11ShaderReflection* shaderReflection);

		void bind();

	private:
		ID3D11InputLayout*	input_layout_;
		RenderDevicePtr		render_device_;
	};

}//end namespace WindGE

#endif // !__SHADERINPUTLAYOUT_H__
